/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package testeGUI;

import br.pucsp.projetoesp.Jogo;
import br.pucsp.projetoesp.modeloDeDominio.Tabuleiro;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Observable;
import java.util.Observer;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

/**
 *
 * @author Gil L Bueno
 */
public class JanelaPrincipal extends javax.swing.JFrame implements Observer{

    private PainelTabuleiro painelTabuleiro;
    private JButton liberarRegistroButton;
    private JButton iniciarButton;
    private JButton sortearButton;
    private JLabel dica0Label;
    private JLabel dica1Label;
    private JLabel dica2Label;
    private JLabel dica3Label;
    private Jogo jogo;
    TextField jogadoresTextField;

    
    
    
    /** Creates new form JFrameTeste */
    public JanelaPrincipal(Tabuleiro t, Jogo jogo) {

        super("Palavras Cruzadas");
        this.jogo = jogo;
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(800, 600);
        setLayout(null);
        setVisible(true);
        painelTabuleiro = new PainelTabuleiro(t);
        painelTabuleiro.setBounds(0, 0, 800, 600);
        getContentPane().add(painelTabuleiro);


        liberarRegistroButton = new JButton("Liberar acesso aos alunos");
        liberarRegistroButton.setBounds(100, 500, 200, 30);
        liberarRegistroButton.addActionListener(new MyButtonActionListener());
        iniciarButton = new JButton("Iniciar");
        iniciarButton.setBounds(300, 500, 200, 30);
        iniciarButton.addActionListener(new MyButtonActionListener());

        sortearButton = new JButton("Sortear aluno");
        sortearButton.setBounds(500, 500, 200, 30);
        sortearButton.addActionListener(new MyButtonActionListener());

        dica0Label = new JLabel("Dica 1: Código Fonte + Computação");
        dica0Label.setBounds(500, 140, 200, 60);
        getContentPane().add(dica0Label);
        dica1Label = new JLabel("Dica 2: Código Fonte + Máquina");
        dica1Label.setBounds(500, 160, 200, 60);
        getContentPane().add(dica1Label);
        dica2Label = new JLabel("Dica 3: Elemento de organização");
        dica2Label.setBounds(500, 180, 260, 60);
        getContentPane().add(dica2Label);
        dica3Label = new JLabel("Dica 4: Elemento de codificação");
        dica3Label.setBounds(500, 200, 200, 60);
        getContentPane().add(dica3Label);
        getContentPane().add(liberarRegistroButton);
        getContentPane().add(iniciarButton);
        getContentPane().add(sortearButton);
        
        
    }

    @Override
    public void update(Observable o, Object arg) {
        
    }

    public JLabel getDica0Label() {
        return dica0Label;
    }

    public JLabel getDica1Label() {
        return dica1Label;
    }

    public JLabel getDica2Label() {
        return dica2Label;
    }

    public JLabel getDica3Label() {
        return dica3Label;
    }

    public JButton getIniciarButton() {
        return iniciarButton;
    }

    public TextField getJogadoresTextField() {
        return jogadoresTextField;
    }

    public Jogo getJogo() {
        return jogo;
    }

    public JButton getLiberarRegistroButton() {
        return liberarRegistroButton;
    }

    public PainelTabuleiro getPainelTabuleiro() {
        return painelTabuleiro;
    }

    public JButton getSortearButton() {
        return sortearButton;
    }

  

    
    
    class MyButtonActionListener implements ActionListener {

        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource().equals(liberarRegistroButton)) {
                jogo.registroLiberado();

            } else if (e.getSource().equals(iniciarButton)) {
                jogo.iniciar();

            } else if (e.getSource().equals(sortearButton)) {
                jogo.sortearJogador();
            }
        }
    }
}
